package com.jdrx.ocp.beans.vo;

import java.io.Serializable;
import java.sql.Date;
import java.util.Optional;

/**
 * 应用服务与接口统计查询VO
 * @author yangfang
 */
public class PlatformApiVO implements Serializable {

  /**主键ID*/
  private Long id;
  /**平台名称*/
  private String name;
  /**前缀(平台标识符)*/
  private String prefix;
  /**图标*/
  private String icon;
  /**是否启用 0 为启用 1 为禁用*/
  private Integer useable;
  /**创建人员ID*/
  private Long createBy;
  /**创建时间*/
  private Date createAt;
  /**删除标记 0正常  1删除*/
  private String delFlag;
  /**平台应用服务地址(预留)*/
  private String serverAddress;
  /**回调地址*/
  private String callBackAddress;
  /** 接口KEY */
  private String verifyKey;
  /**服务分类*/
  private Integer serviceGroup;
  /** 服务分组 */
  private String serviceGroupName;
  /**健康检查地址*/
  private String healthAddress;
  /**外网服务地址*/
  private String  outServerAddress;
  /**服务说明或备注*/
  private String  remark;
  /**服务供应商名称*/
  private String serviceRoviders;
  /** 服务版本 */
  private String version;
  /** 模块数量 */
  private Integer modelNumber;
  /** API数量 */
  private Integer apiNumber;
  /** 接口启用数量 */
  private Integer enable;
  /** 接口停用数量 */
  private Integer disable;


  public Long getId() {
    return id;
  }

  public void setId(Long id) {
    this.id = id;
  }

  public String getName() {
    return name;
  }

  public void setName(String name) {
    this.name = name;
  }

  public String getPrefix() {
    return prefix;
  }

  public void setPrefix(String prefix) {
    this.prefix = prefix;
  }

  public String getIcon() {
    return icon;
  }

  public void setIcon(String icon) {
    this.icon = icon;
  }

  public Integer getUseable() {
    return useable;
  }

  public void setUseable(Integer useable) {
    this.useable = useable;
  }

  public Long getCreateBy() {
    return createBy;
  }

  public void setCreateBy(Long createBy) {
    this.createBy = createBy;
  }

  public Date getCreateAt() {
    return createAt;
  }

  public void setCreateAt(Date createAt) {
    this.createAt = createAt;
  }

  public String getDelFlag() {
    return delFlag;
  }

  public void setDelFlag(String delFlag) {
    this.delFlag = delFlag;
  }

  public String getServerAddress() {
    return serverAddress;
  }

  public void setServerAddress(String serverAddress) {
    this.serverAddress = serverAddress;
  }

  public String getCallBackAddress() {
    return callBackAddress;
  }

  public void setCallBackAddress(String callBackAddress) {
    this.callBackAddress = callBackAddress;
  }

  public String getVerifyKey() {
    return verifyKey;
  }

  public void setVerifyKey(String verifyKey) {
    this.verifyKey = verifyKey;
  }

  public Integer getServiceGroup() {
    return serviceGroup;
  }

  public void setServiceGroup(Integer serviceGroup) {
    this.serviceGroup = serviceGroup;
  }

  public String getHealthAddress() {
    return healthAddress;
  }

  public void setHealthAddress(String healthAddress) {
    this.healthAddress = healthAddress;
  }

  public String getOutServerAddress() {
    return outServerAddress;
  }

  public void setOutServerAddress(String outServerAddress) {
    this.outServerAddress = outServerAddress;
  }

  public String getRemark() {
    return remark;
  }

  public void setRemark(String remark) {
    this.remark = remark;
  }

  public String getServiceRoviders() {
    return serviceRoviders;
  }

  public void setServiceRoviders(String serviceRoviders) {
    this.serviceRoviders = serviceRoviders;
  }

  public String getServiceGroupName() {
    return serviceGroupName;
  }

  public void setServiceGroupName(String serviceGroupName) {
    this.serviceGroupName = serviceGroupName;
  }

  public String getVersion() {
    return Optional.ofNullable(version).orElse("1.0.0");
  }

  public void setVersion(String version) {
    this.version = version;
  }

  public Integer getModelNumber() {
    return Optional.ofNullable(modelNumber).orElse(0);
  }

  public void setModelNumber(Integer modelNumber) {
    this.modelNumber = modelNumber;
  }

  public Integer getApiNumber() {
    return Optional.ofNullable(apiNumber).orElse(0);
  }

  public void setApiNumber(Integer apiNumber) {
    this.apiNumber = apiNumber;
  }

  public Integer getEnable() {
    return Optional.ofNullable(enable).orElse(0);
  }

  public void setEnable(Integer enable) {
    this.enable = enable;
  }

  public Integer getDisable() {
    return Optional.ofNullable(disable).orElse(0);
  }

  public void setDisable(Integer disable) {
    this.disable = disable;
  }
}
